#pragma once

#include "ScriptCompiler/AST/ASTNode.h"

class CSentenceBlockNode;
class CExpressionNode;

class CFunctionContentNode : public CASTNode
{
public:
    CFunctionContentNode(std::weak_ptr<CScriptFileContext> InFile)
        : CASTNode(InFile,EASTNodeType::FunctionContent)
    {
    }

    std::shared_ptr<CScriptToken> FirstToken; // '{' or '=>'
    bool IsLambda=false;

    std::shared_ptr<CSentenceBlockNode> Content;

    virtual void DebugPrint(int32_t InDepth) override;
    
    virtual std::shared_ptr<CScriptToken> GetFirstToken() override;
};